package com.swxy.club.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.swxy.club.enums.ActivityStatus;
import com.swxy.club.serializer.EnumFlatSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;

/**
 * @author 易
 */

@EqualsAndHashCode(callSuper = true)
@Data
@TableName("activity")
public class Activity extends BaseDto{

    /**
     * 活动ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 活动标题
     */
    private String title;

    /**
     * 活动简介
     */
    private String profile;

    /**
     * 活动说明
     */
    private String description;

    /**
     * 活动图片地址
     */
    private String activityImageUrl;

    /**
     * 活动开始时间
     */
    private LocalDateTime startTime;

    /**
     * 活动结束时间
     */
    private LocalDateTime endTime;

    /**
     * 活动地点
     */
    private String location;

    /**
     * 所属社团ID
     */
    private Long clubId;

    /**
     * 所属社团名称
     */
    private String clubName;

    /**
     * 活动最大参加人数
     */
    private Integer maxNumber;

    /**
     * 活动目前参加人数
     */
    private Integer currentNumber;

    /**
     * 活动状态
     */
    @JsonSerialize(using = EnumFlatSerializer.class)
    private ActivityStatus status;

    /**
     * 活动预算金额
     */
    private BigDecimal expectAmount;


}
